//package compare_class;
//
//import java.util.Arrays;
//import java.util.Comparator;
//
//class Person {
//    public String name;
//    public int age;
//
//    public Person(String name,int age) {
//        this.name=name;
//        this.age=age;
//    }
//
//    //重写toString,和Arrays下的toString配合使用
//    @Override
//    public String toString() { //如果不重写toString,返回值是一个地址
//        return "{"+this.name+","+this.age+"}";
//    }
//}
//
////Comparator中有compare和equals，但是equals是从object类继承的，不算是Comparator的抽象方法
//// 所以用到Comparator不需要重写equals
//
////成员变量非private都可以用这种类实现比较
////以年龄比较
//class AgeComparator implements Comparator<Person> {
//    @Override
//    public int compare(Person p1,Person p2) {
//        return p1.age-p2.age;
//    }
//}
////以姓名比较
//class NameComparator implements Comparator<Person> {
//
//    public int compare(Person p1,Person p2) {
//        //这里的compareTo是Arrays下的，
//        // 所以不需要Person去实现Comparable，再重写compareTo
//        return p1.name.compareTo(p2.name);
//    }
//}
////测试类
//public class Comtor {
//    public static void main(String[] args) {
//        Person[] peoples = {
//                new Person("zhangsan",19),
//                new Person("wangwu",17),
//                new Person("alan",21)
//        };
//
//        System.out.println("以年龄排序:");
//        AgeComparator ageComparator = new AgeComparator();//创建年龄的类
//        Arrays.sort(peoples,ageComparator);
//        System.out.println(Arrays.toString(peoples));
//
//        System.out.println("--------------------------------------");
//
//        System.out.println("以姓名排序:");
//        NameComparator nameComparator = new NameComparator();
//        Arrays.sort(peoples,nameComparator);
//        System.out.println(Arrays.toString(peoples));
//    }
//}
//
